{{tag>Xenial apt paquet gestionnaire_de_paquets logiciels installation_logiciel}}

----

====== Apturl : Installer un paquet en un clic depuis une page web ======

//Le **protocole APT**, ou **apturl**(qui gère le protocole apt>), est une façon extrêmement facile d'installer un paquet logiciel, et est avantageux pour les utilisateurs et les distributeurs de contenu.//

Dans les ordinateurs dans lesquels //apturl// est installé et configuré, le clic dans une page web sur un lien spécial démarre l'installation d'un ou de plusieurs paquets donnés présents dans les dépôts de paquets accessibles à cet ordinateur.

<note tip>Cette page est une sous-partie de la page **"[[tutoriel:comment_installer_un_paquet|Comment installer un paquet]]"**.</note>

{{ :applications:apturl_lucid2.png|Apt-url}}
Par exemple, dans une page web, lorsqu'un utilisateur d'Ubuntu clique sur le lien **[[apt>gimp]]**, //apturl// intercepte l'action et exécute le [[gestionnaire de paquets]] pour proposer l'installation du paquet ''gimp'' depuis [[:depots|les sources de paquets accessibles]]. Pour l'utilisateur, il n'y a pas besoin de lire une marche à suivre fastidieuse pour installer un paquet ; pour le diffuseur de contenu, il n'y a pas besoin d'écrire une marche à suivre fastidieuse.

Notez que //apturl// n'a pas pour but de remplacer le système de dépôts ni les gestionnaires de paquets actuels. C'est une méthode complémentaire qui s'inscrit par-dessus ceux-ci, qui exploite les ressources des dépôts et des gestionnaires existants.

===== Pré-requis =====
Pour que votre système puisse utiliser cette méthode d'installation de paquets, il vous faut disposer d'un navigateur compatible //(voir la liste ci-dessous)//.

===== Installation =====
Sur Ubuntu, apturl est installé par défaut, toutefois si il ne l'est pas , il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>apturl|apturl]]**.

Une interface existe pour [[:KDE]], elle se nomme **[[apt>apturl-kde|apturl-kde]]**.

==== Choisir apturl comme « gestionnaire de paquet » lors d'un clic sur un lien apt ====
Apturl peut se substituer au gestionnaire de paquet habituel et installer des paquets sur le système lors du clic sur un lien apt.

Pour utiliser apturl comme gestionnaire de lien apt, entrer dans un [[terminal]] la commande suivante : <code>xdg-mime default apturl.desktop x-scheme-handler/apt</code>
Pour plus d'informations sur le choix des gestionnaires associé au protocole [[:apt]] consulter la section [[gestionnaire_de_paquets#choisir_quel_gestionnaire_de_paquet_se_lance_avec_les_liens_apt|choisir quel gestionnaire de paquet se lance avec les liens apt]].

=====Configuration=====

==== Firefox et Epiphany ====
<note warning>
L'application apturl est certainement préinstallée depuis pas mal d'années, mais des versions de firefox (56.0), livrées avec ubuntu 17.10 n'ont pas incorporé le paramétrage permettant de lancer l'application.

Dans Ubuntu 18.04 la version "snap" de Firefox (obtenu par la bibliothèque de logiciels) semble ne pas avoir pas les permissions nécessaires pour accéder au dossier usr/bin/ (un message d'erreur indique "permission denied") ; tandis que la version obtenue via les répertoires (sudo apt install firefox) fonctionnera correctement et pourra suivre le chemin jusqu'à la fonction apt-url ([[https://askubuntu.com/questions/1166033/issues-with-firefox-permissions-on-ubuntu-18-04/1166199#1166199?newreg=60e88651a8ea4c6f95188e1f28477fe9|source]]).

</note>

{{ :applications:apturl_firefox_lucid2.png?300|Besoin d'activer les liens apturl ?}}

Cliquez sur ce lien : **[[apt>gimp]]**. La fenêtre "lancement de l'application" (ci-contre) apparaît. (Dans l'exemple ci-contre "**apturl**" est déjà sélectionné ); 
  * **Si dans votre cas "**apturl**" n'est pas visible, cliquez sur le bouton **Choisir**, puis **Ordinateur**, puis le répertoire **/usr/bin** puis le fichier "**apturl**".

Ne pas oublier de cocher **Se souvenir de mon choix** et validez.

  * **Si le fichier  "**apturl**" n'existe pas dans le répertoire **/usr/bin**, Ouvrez un [[:terminal]] et entrez la commande suivante:<code>sudo apt-get install apturl </code>

Si ça ne fonctionne toujours pas, saisissez //about:config// (sans espace) dans la barre de navigation et rajoutez en faisant clic-droit puis //nouvelle// :

  * **network.protocol-handler.app.apt** en chaîne de caractères avec pour valeur **/usr/bin/apturl**,
  * **network.protocol-handler.app.apt+http** en chaîne de caractères avec pour valeur **/usr/bin/apturl**,
  * **network.protocol-handler.warn-external.apt** en valeur booléenne et mettez **false** comme valeur,
  * **network.protocol-handler.warn-external.apt+http** en valeur booléenne et mettez **false** comme valeur.
  *  Et eventuellement, une entrée //valeur booléenne// en saisissant (le nom de l'option) **network.protocol-handler.expose.apt** puis validez et et sélectionnez **false** comme valeur.

Cliquez ensuite sur le lien apt d'une application que vous voulez installer, choisissez l'application **apturl** dont le chemin est **///usr/bin/apturl//** pour l’ouvrir, cochez "Se souvenir de mon choix" et validez.
==== Konqueror ====
[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] ///usr/share/services/apt.protocol// en mode [[sudo|administrateur]] avec le contenu suivant : <file - apt.protocol>[Protocol]
exec=apturl "%u"
protocol=apt
input=none
output=none
helper=true
reading=true
writing=true</file>
Faites la même chose pour le fichier **apt+http.protocol** : <file - apt+http.protocol>[Protocol]
exec=apturl "%u"
protocol=apt+http
input=none
output=none
helper=true
reading=true
writing=true</file>

==== Opera ====
Si vous utilisez [[:Opera]], il suffit d'aller dans le //menu principal// puis //Réglages// puis //Préférences//. Cliquez sur l'onglet //Avancés// puis //Programmes//, et choisissez //Ajouter//. Dans //Protocole//, entrez **apt** et dans //Ouvrir avec une autre application//, entrez **/apturl**. Appuyez sur le bouton OK.

Si les modifications ne prennent pas effet immédiatement, redémarrez Opera.


====  Chromium et Google Chrome====
=== Version deb des depots ===
Si vous avez appliqué la commande proposée au début de cette page [[:Chromium]] utilisera sans aucune autre manipulation apt-url.
 
=== Version Snap ===

Chromium Snap ne permet pas actuellement de lancer des logiciels ( comme xdg-open) via des liens

===== Utilisation =====

Une fois le protocole pris en charge par votre système, vous trouverez parfois sur internet des liens du style **[[apt>nom_du_paquet]]** qui vous permettront d'installer le paquet en question.

Sur cette documentation, vous trouverez une icône sur lequel vous pourrez cliquer pour installer divers logiciels ou paquets, se présentant sous cette forme :{{apt.png}}

Si vous voulez aider un ami ou un utilisateur d'Ubuntu sur les [[http://forum.ubuntu-fr.org/|forums d'Ubuntu-fr]], vous pourrez lui donner de simples liens à cliquer. On peut alors construire ces liens de plusieurs façons détaillées si dessous.

==== Installer un seul paquet ====

Pour installer, par exemple, le paquet **dl_poly** : [[apt>unrar]] (tout simplement)


==== Installer plusieurs paquets d'un coup ====

Il suffit de séparer les paquets par une virgule : [[apt>unrar,vlc,vim]]

==== Utiliser un dépôt alternatif ====

On peut spécifier un dépôt à utiliser pour installer le paquet en question avec un lien du style :
[[apt>archive.canonical.com?package=skype?dist=xenial?section=commercial|dépôt commercial et Skype]]

Ici, on installera le paquet **Skype** disponible sur le dépôt Xenial Commercial de Canonical.

Tous les dépôts conformes à la norme Debian pourront être utilisés avec cette méthode.


==== Utiliser un PPA ====

<note warning> La fermeture de la page GitHub de ce projet et le dernier message((" Michael Vogt s'est finalement décidé à me répondre.
En réalité, l'idée avait déjà été abordée depuis un moment en interne et du code inclus à cet effet dans "apturl".

Cependant, ce code partiellement créé à été désactivé (je m'en suis resservi) pour plusieurs raisons : éviter les malwares et autres softs malicieux, les softs mal codés etc.

Du coup, Michael salue mon initiative mais est hésitant (je pense qu'il est plus qu'hésitant mais il a mis les formes) quant à l'inclusion de mon code pour les risques pré-cités.

Ce qu'il manque d'après lui est une "évaluation par les pairs" (peer review) sur les PPA.
Dans ce cas précis, un apturl "amélioré" aurait sa place...
Du coup, on pourrait avoir, selon l'évaluation du PPA (négative ou positive), un message d'alerte ou non.

Maintenant, il ne m'a pas précisé si le peer review était une fonctionnalité attendue de Launchpad.
Je vais tenter d'en savoir plus à ce niveau... car maintenir un fork qui ne sera jamais inclus ne me semble pas judicieux. "))
 (datant de 2014) laissent penser que ce projet a été abandonné. </note>
Il existe un projet de fork d'apturl permettant d'ajouter des PPA via un lien :
voir le forum [[http://forum.ubuntu-fr.org/viewtopic.php?id=1441781|dédié]]

=====Problèmes connus=====
====Crash avec Ubuntu 14.04 et Firefox====
Impossible d'utiliser les liens apt dans Firefox. Rien ne se passait, et un rapport de bug s'ouvrait. En cliquant sur "détails", le gestionnaire de bugs donnait l'erreur suivante :

''apturl-gtk crashed .... icone deb pas présent dans le thème''

J'ai résolu ce problème par une manipulation pas très professionnelle, mais qui marche :

- lancez le [[:gestionnaire de fichiers]] en tant qu'[[:sudo|administrateur]],
- copiez une icône en 16x16 (par exemple, depuis //usr/share/icons/gnome//) et renommez-la en deb.png

- collez cette icône //deb.png// dans //usr/share/icons/unity-icon-theme// et dans ///usr/share/icons/gnome/16x16/apps// (Je ne sais grâce à quel dossier cela marche...)

===== Liens =====

  * [[http://www.cedynamix.fr/2007/09/30/le-protocole-apt-quest-ce-que-cest/|Billet de Cedynamix présentant le protocole apt]]
  * (en) [[http://blog.appnr.com/help/#howto-install-packages|Enable the AptURL protocol (Appnr blog)]]
  * [[http://appnr.com/|Site proposant tous les paquets Ubuntu installables par AptUrl]]

----

//Contributeurs : [[:utilisateurs:Enchained]],[[:utilisateurs:jewome_62]],[[:utilisateurs:poupoul2]], [[:utilisateurs:Sallé]], [[:utilisateurs:mydjey]]//